#pragma once

#include <semaphore.h>

class Semaphore
{
public:
    Semaphore(void);
    Semaphore(unsigned int nValue);
    Semaphore(bool bShared, unsigned int nValue);
    virtual ~Semaphore(void);

    int Post();
    int TryWait();
    int Wait();

private:
    sem_t   m_sem;

};


